package com.xdjd.mobile.system.anotations;

import java.lang.annotation.*;

@Documented
@Inherited
@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
public @interface ApiAuth {

    /**
     * 登录校验
     * 0 无需登录
     * 1 强制登录
     * 2 都能访问,根据是否登录 返回不同数据
     * @return
     */
    int loginValidate() default 1;

    /**
     * 重复点击锁
     * true 锁重复点击
     * false 不锁重复点击
     * @return
     */
    boolean repeatLock() default true ;

    /**
     * 重复点击锁有效期(毫秒值)
     * @return
     */
    int lockTime() default 2000 ;

    /**
     * 重复点击事件ID
     * 一般用完整接口URL即可
     * 特殊场景 多个接口共享重复点击锁,可多个接口定义同一个事件ID
     * @return
     */
    String eventId() default "" ;


    /**
     * 接口访问权限
     * 允许访问的多角色ID,用英文逗号拼接
     * 比如 1,2.3 表示允许角色ID为1 2 3 的用户访问
     * @return
     */
    String roleValidate() default "" ;


}